import { RouterMount, createRouter } from 'uni-simple-router';
import store from "./store/index.js";
import {whoami} from "./ajax/api/login.js";
const router = createRouter({
	platform: process.env.VUE_APP_PLATFORM,
	routes: [...ROUTES]
});
//全局路由前置守卫
router.beforeEach(async (to, from, next) => {
	//权限控制登录
	if(to.meta.auth){
		// 判断是否需要登录的界面
		if(store.state.userInfo){
			// 有用户信息，直接放行
			next();
		}else{
			// 判断是否有token
			if(store.state.token){
				// 验证token是否有效
				try{
					// 验证token是否有效
					const userInfo = await whoami();
					console.log(userInfo,"userInfo")
					// 重新存储用户信息
					store.commit("updateUserInfo",userInfo)
					next();
				}catch(e){
					next(`/pages/login/login?redirect=${to.path}`);
				}
			}else{
				// 没有token导航到login页面
				next(`/pages/login/login?redirect=${to.path}`)
			}
		}
	}else{
		// 不需要鉴权
		if(to.path==='/pages/login/login' && store.state.userInfo){
			// 跳转到login页面且有用户信息的情况下
			next({path:'/pages/home/home'})
		}else{
			next();
		}
	}
});
 
export {
	router,
	RouterMount
}